﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sistema_Totem.Logica.Clases;

namespace Sistema_Totem.Vista.Roles
{
    public partial class ModificarRol : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            //if (Session["tipo_usuario"].ToString() != "Administrador")
            //{
            //    Response.Redirect("Login1.aspx");
            //}

            if (!IsPostBack)
            {
                string nombre = Request.QueryString["Param1"];
                int valor = Convert.ToInt32(nombre.ToString());
                ConsultarRolMod(valor);
            }
        }

        #region Métodos

        #region Consultar Rol
        /// <summary>
        /// Método que muestra los valores del consultar.
        /// </summary>
        /// <param name="valor"></param>
        public void ConsultarRolMod(int valor)
        {
            Rol rol = new Rol();
            Rol resultado = null;
            resultado = rol.ConsultarRolModificar(valor);

            if (resultado != null)
            {
                MostrarDatosRol(resultado);
            }
            else
            {
                //excepcion personal.
                System.Console.Write("Error");
            }
        }
        #endregion Consultar Rol

        #region Llenar Consultar Rol
        /// <summary>
        /// Método que se encarga de obtener
        /// los valores del consultar.
        /// </summary>
        /// <param name="rol"></param>
        private void MostrarDatosRol(Rol rol)
        {
            nombreRolNuevo.Text = rol.Nombre;
            tipoRolNuevo.Text = rol.TipoRol;
            descripcionNueva.Text = rol.Descripcion;
        }
        #endregion Llenar Consultar Rol

        #endregion Métodos
        
        /// <summary>
        /// Acción del boton Actualizar.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string nombre = Request.QueryString["Param1"];
                int valor = Convert.ToInt32(nombre.ToString());
                Rol rol2 = new Rol();
                rol2.Id = valor;
                rol2.Nombre = this.nombreRolNuevo.Text;
                rol2.TipoRol = this.tipoRolNuevo.Text;
                rol2.Descripcion = this.descripcionNueva.Text;
                bool resultado = rol2.ModificarRol(rol2);

                Mensaje.Text = "Se modifico exitosamente el Rol";
                Mensaje.CssClass = "transaccionExitosa";
                Mensaje.Visible = true;
                MostrarDatosRol(rol2);    
            }
            catch (Exception error)
            {
                Mensaje.Text = "Operacion Fallida" + error.Message;
                Mensaje.CssClass = "transaccionFallida";
                Mensaje.Visible = true;
            }
        }

        /// <summary>
        /// Acción del botón volver.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Volver_Click(object sender, EventArgs e)
        {
            Response.Redirect("../Roles/ListarModificarRol.aspx");
        }
    }
}